﻿using System.Collections.Generic;

namespace User.Api.Dto.Depart
{
    public class GetTimeSlicesResponse : BaseResponse
    {
        /// <summary>
        /// 当日 yyyy-MM-dd
        /// </summary>
        public string Today { get; set; }

        /// <summary>
        /// 当前默认已选日期，原则上选择最近的有号的日期 yyyy-MM-dd
        /// 如果所有都没有有号的日期，那么 defaultSelectedDay = '无剩余号源'
        /// </summary>
        public string DefaultSelectedDay { get; set; }

        /// <summary>
        /// 排班的日期列表
        /// </summary>
        public List<ScheduleDay> RegDays { get; set; }

        public class ScheduleDay
        {
            /// <summary>
            /// 日期 yyyy-MM-dd
            /// </summary>
            public string Date { get; set; }

            /// <summary>
            /// 是否已约满
            /// </summary>
            public bool IsFull { get; set; }
        
            /// <summary>
            /// 时段
            /// </summary>
            public List<TimeSlice> TimeSlices { get; set; }
        }

        public class TimeSlice
        {
            /// <summary>
            ///     科室编码
            /// </summary>
            public string DeptId { get; set; }

            /// <summary>
            ///     科室名称
            /// </summary>
            public string DeptName { get; set; }

            /// <summary>
            ///     医生编码
            /// </summary>
            public string DoctorId { get; set; }

            /// <summary>
            ///     医生名称
            /// </summary>
            public string DoctorName { get; set; }

            /// <summary>
            ///     医生职称
            /// </summary>
            public string Title { get; set; }

            /// <summary>
            /// 号类
            /// </summary>
            public string RegType { get; set; }

            /// <summary>
            /// 时段名称
            /// </summary>
            public string SliceName { get; set; }

            /// <summary>
            /// 时段开始时间
            /// </summary>
            public string SliceStartTime { get; set; }

            /// <summary>
            /// 时段结束时间
            /// </summary>
            public string SliceEndTime { get; set; }

            /// <summary>
            /// 剩余号数 不限号、号数
            /// </summary>
            public int LeaveCount { get; set; }

            /// <summary>
            /// 总号数
            /// </summary>
            public int TotalCount { get; set; }

            /// <summary>
            /// 是否有分时
            /// </summary>
            public bool HasTimePoint { get; set; }

            /// <summary>
            /// 挂号费
            /// </summary>
            public decimal RegFee { get; set; }

            /// <summary>
            /// 诊疗费
            /// </summary>
            public decimal TreatFee { get; set; }

            /// <summary>
            /// 其他费
            /// </summary>
            public decimal OtherFee { get; set; }

            /// <summary>
            /// 总费用
            /// </summary>
            public decimal TotalFee { get; set; }


            public string ScheduleId { get; set; }

            public string IsHalt { get; set; }
         
        }
    }
}